const { default: axios } = require('axios');
const express = require('express');
const app = express();
const md5 = require('js-md5')

/*
CORS（主流方案）:cors是express提供的第三方库，通过安装和配置cors中间件，可以很方便的解决跨域问题
            由一系列HTTP的响应头组成，这些HTTP响应头决定浏览器是否阻止前端JS代码跨域获取资源
步骤：
	1.安装： npm i cors
    2.导入中间件 const cors = require("cors")
	3. 配置中间件 app.use("cors()")
*/
// const cors = require("cors")
// app.use(cors())

// 配置跨域请求中间件(服务端允许跨域请求)
var allowCors = function(req, res, next) {
  // res.header("Access-Control-Allow-Origin", '*')
  // res.header("Access-Control-Allow-Origin", 'http://seagull.sjst.test.sankuai.com')
  res.header("Access-Control-Allow-Origin", req.headers.origin); // 设置允许来自哪里的跨域请求访问（req.headers.origin为当前访问来源的域名与端口）
  res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS"); // 设置允许接收的请求类型
  res.header("Access-Control-Allow-Headers", "Content-Type,token",); // 设置请求头中允许携带的参数

  res.header("Access-Control-Allow-Credentials", "true"); // 允许客户端携带证书式访问。保持跨域请求中的Cookie。注意：此处设true时，Access-Control-Allow-Origin的值不能为 '*'
  // res.header("Access-control-max-age", 86400); // 设置请求通过预检后多少时间内不再检验，减少预请求发送次数
  next();
};
app.use(allowCors); // 使用跨域中间件



  

app.get('/api/translate', async(req, res) => {
  
  const {text} = req.query || {}

  const sign = md5(`20230522001685953${text}14356602888crWLw_cpdrqpddnHLGR`)
  const result=await axios.get(`http://api.fanyi.baidu.com/api/trans/vip/translate?q=${text}&from=zh&to=en&appid=20230522001685953&salt=1435660288&sign=${sign}`)

  res.set('content-type', 'application/javascript');
  res.set('Cache-Control', 'no-cache')

  res.end(JSON.stringify(result.data));
});




const PORT = 9528;
app.listen(PORT, () => {
  console.log(`server start on port ${PORT}`);
});